package cn.bearspark.api.service.main;

import cn.bearspark.api.vo.main.video.PlayVideoVO;
import cn.bearspark.api.vo.main.video.PublishVideoVO;
import cn.bearspark.api.vo.main.video.VideoListVO;
import cn.bearspark.common.dto.Page;

/**
 * 视频模块的服务接口
 *
 * @author f
 */
public interface VideoService {

    /**
     * 发布视频
     *
     * @param publishVideoVO 发布视频的请求
     */
    void publishVideo(PublishVideoVO publishVideoVO);

    /**
     * 播放视频
     *
     * @param videoId 待播放的视频 id
     * @return 待播放视频的信息
     */
    PlayVideoVO playVideo(long videoId);

    /**
     * 获取视频列表
     *
     * @param page 页数
     * @param size 元素数，最大为 50
     * @return 视频的分页查询对象
     */
    Page<VideoListVO> getVideoList(int page, int size);
}
